ããã³ããšã³ãã³ã³ããŒãã³ãã©ã€ãã©ãªã®è©³çްãªãã€ã¯ãããŒãžã§ã³ç®¡çã®åãè§£ãæŸã¡ãŸããããæ£ç¢ºãªããŒãžã§ã³ç®¡çããã°ããŒãã«ããŒã ã®å®å®æ§åäžãéçºå éãã³ã©ãã¬ãŒã·ã§ã³æé©åã«ã©ã®ããã«è²¢ç®ããããåŠã³ãŸãã
ãã€ã¯ãããŒãžã§ã³ç®¡çã®ç¿åŸïŒã°ããŒãã«éçºåãããã³ããšã³ãã³ã³ããŒãã³ãã©ã€ãã©ãªã§è©³çްãªå¶åŸ¡ãå®çŸãã
仿¥ã®ããŒã¹ã®éããçžäºæ¥ç¶ãããããžã¿ã«äžçã«ãããŠãããã³ããšã³ãéçºã¯ãã€ãŠãªãã»ã©ãã€ãããã¯ã§ãã倧éžãã¿ã€ã ãŸãŒã³ãè¶ããŠåæ£ããŠããããšãå€ãããŒã ã¯ãå ±æUIã³ã³ããŒãã³ãã©ã€ãã©ãªãšãã¶ã€ã³ã·ã¹ãã ã«å€§ããäŸåããªãããè€éãªã¢ããªã±ãŒã·ã§ã³ã§ååããŠããŸãããããã®ã©ã€ãã©ãªã¯äžè²«æ§ãšéçºã®å éãçŽæããŸããããã®é²åã管çããããšã¯å€§ããªèª²é¡ãšãªãåŸãŸããããã§è©³çްãªãã€ã¯ãããŒãžã§ã³ç®¡çãç»å ŽããåŸæ¥ã®ã¡ãœãããè¶ ããæŽç·ŽãããããŒãžã§ã³ç®¡çã¢ãããŒããæäŸããæ¯é¡ã®ãªã粟床ãšå¶åŸ¡ããããããŸãã
ãã®å æ¬çãªã¬ã€ãã¯ããã€ã¯ãããŒãžã§ã³ç®¡çã®æ¬è³ªãæãäžãããã®æ·±ãã¡ãªãããå®è·µçãªå®è£ æŠç¥ãããã³ã°ããŒãã«éçºããŒã ã«ãšã£ãŠã®éèŠãªèæ ®äºé ãæ¢ããŸãã詳现ãªããŒãžã§ã³ç®¡çãæ¡çšããããšã§ãçµç¹ã¯å®å®æ§ãå€§å¹ ã«åäžãããã¯ãŒã¯ãããŒãåçåããæè¡çè² åµãåæžããããå¹ççãªã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ã§ããŸãã
é²åããããã³ããšã³ãéçºãšã³ã³ããŒãã³ãã©ã€ãã©ãªã®ç¶æ³
ã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ãžã®ãã©ãã€ã ã·ããã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®æ§ç¯æ¹æ³ã«é©åœããããããŸãããReactãVueãAngularã®ãããªãã¬ãŒã ã¯ãŒã¯ã¯ãã®ã¢ãããŒããæšé²ããéçºè ãå°ãããåå©çšå¯èœã§ãç¬ç«ããéšåããè€éãªUIãæ§ç¯ã§ããããã«ããŠããŸããããã¯åœç¶ããã¶ã€ã³ååãã¢ã¯ã»ã·ããªãã£æšæºãã€ã³ã¿ã©ã¯ãã£ããªæ¯ãèããã«ãã»ã«åããUIã³ã³ããŒãã³ãã®äžå€®éçŽåã³ã¬ã¯ã·ã§ã³ã§ããã³ã³ããŒãã³ãã©ã€ãã©ãªã®å¢å ã«ã€ãªãããŸããã
ãããã®ã©ã€ãã©ãªã¯ãçµç¹ã®ãã¶ã€ã³ã·ã¹ãã ã®åºç€ãšãªãããšãå€ãããã©ã³ãã®äžè²«æ§ãç¶æããéçºè ã®çç£æ§ãåäžãããè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ã«ãããäžè²«ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã確ä¿ããããã«äžå¯æ¬ ã§ãããããããã®æåèªäœãæ°ããªè€éãã®å±€ããããããŸããã€ãŸãããããã®åºç€ãšãªãã³ã³ããŒãã³ããžã®å€æŽããæå³ããå©çšããã¢ããªã±ãŒã·ã§ã³ãäžå®å®ã«ãããã倿§ãªéçºããŒã ã®é²æã劚ãããããããšãªããã©ã®ããã«ç®¡çããã®ã§ããããïŒ
ãã€ã¯ãããŒãžã§ã³ç®¡çãšã¯ïŒè©³çްãªå¶åŸ¡ã®å®çŸ©
ãã®æ žå¿ã«ãããŠããã€ã¯ãããŒãžã§ã³ç®¡çãšã¯ãæšæºçãªã©ã€ãã©ãªå šäœã«ãããã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çïŒSemVerïŒãããããããã现ãããããã¢ãããã¯ãªã¬ãã«ã§ããŒãžã§ã³ç®¡çãé©çšããå®è·µã§ããSemVerïŒMAJOR.MINOR.PATCHïŒã¯ãããã±ãŒãžå šäœã®å®å®æ§ãšå ¬éAPIã®å€æŽãå®çŸ©ããããã«äžå¯æ¬ ã§ãããå€§èŠæš¡ã§æŽ»çºã«éçºãããŠããã³ã³ããŒãã³ãã©ã€ãã©ãªã«ã¯åºãããå ŽåããããŸããã©ã€ãã©ãªã®ããã€ããŒããªãªãŒã¹ã¯ãè€æ°ã®ã³ã³ããŒãã³ãã«ãããéèŠãªå€æŽãå«ãããšãããããã®äžéšã¯ããå©çšã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéèŠã§ãã£ãŠããå¥ã®ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠã¯ç¡é¢ä¿ã§ããå¯èœæ§ããããŸãã
詳现ãªãã€ã¯ãããŒãžã§ã³ç®¡çã¯ãåã ã®ã³ã³ããŒãã³ãããããã¯ã³ã³ããŒãã³ãã®ç¹å®ã®åŽé¢ïŒãã¶ã€ã³ã»ããŒã¯ã³ãã¢ã¯ã»ã·ããªãã£æ©èœãªã©ïŒããããé«ã粟床ã§ããŒãžã§ã³ç®¡çãããããšãå¯èœã«ããããšã§ããã®åé¡ã«å¯ŸåŠããããšãç®æããŠããŸããããã¯ããã¿ã³ã®ã¹ã¿ã€ã«èª¿æŽãå ¥åãã£ãŒã«ãã«è¿œå ãããæ°ããããããã£ãããŒã¿ããŒãã«ã®å®å šãªAPI倿Žãåºå¥ãããããã®éããããããã®ããŒãžã§ã³å¢å ã«åæ ãããããšãæå³ããŸããç®æšã¯ãããŠã³ã¹ããªãŒã ã®å©çšè ã«äœã倿Žãããããããæç¢ºãã€æ£ç¢ºã«çè§£ãããèªä¿¡ãæã£ãŠæå°éã®ãªã¹ã¯ã§äŸåé¢ä¿ãæŽæ°ã§ããããã«ããããšã§ãã
ããªããïŒè©³çްãªãã€ã¯ãããŒãžã§ã³ç®¡çã®èª¬åŸåã®ããçç±
ãã€ã¯ãããŒãžã§ã³ç®¡çæŠç¥ã®æ¡çšã¯ãè€éãã䌎ãããã軜ã ããè¡ãããæ±ºå®ã§ã¯ãããŸãããããããç¹ã«å€§èŠæš¡ã§åæ£ãããéçºäœæ¥ã«ãããŠã¯ããã®ã¡ãªããã¯å€§ãããå€ãã®å Žåãåæã®ãªãŒããŒããããäžåããŸãã
å®å®æ§ã®åäžãšãªã¹ã¯ã®äœæž
- äºæãã¬éè¡ã®é²æ¢: åã³ã³ããŒãã³ããåå¥ã«ããŒãžã§ã³ç®¡çããããšã§ãããã³ã³ããŒãã³ãïŒäŸïŒæ¥ä»ããã«ãŒïŒã®æŽæ°ããåãã©ã€ãã©ãªããŒãžã§ã³å ã®ç¡é¢ä¿ãªã³ã³ããŒãã³ãïŒäŸïŒããã²ãŒã·ã§ã³ããŒïŒã®æŽæ°ã匷å¶ããããéè¡ãæããªã¹ã¯ããªããªããŸããå©çšã¢ããªã±ãŒã·ã§ã³ã¯ãå¿ èŠãªãšãã«å¿ èŠãªã³ã³ããŒãã³ãã®ã¿ãæŽæ°ã§ããŸãã
- 倿Žã®åé¢: åã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ãããåé¢ãããŸããéçºè ã¯ãã©ã€ãã©ãªå šäœã®ãªãªãŒã¹ãµã€ã¯ã«ãå¿ èŠãšããã«ãåäžã®ã³ã³ããŒãã³ãã«å€æŽãå ãããã¹ããããªãªãŒã¹ã§ãããããæœåšçãªåé¡ã®åœ±é¿ç¯å²ãåçã«æžããããšãã§ããŸãã
- ãããã°ãšããŒã«ããã¯ã®é«éå: æŽæ°åŸã«åé¡ãçºçããå Žåãåé¡ã®åå ãšãªã£ãæ£ç¢ºãªã³ã³ããŒãã³ããšãã®ç¹å®ã®ããŒãžã§ã³ãç¹å®ããããšãã¯ããã«ç°¡åã«ãªããŸããããã«ãããã©ã€ãã©ãªå šäœãå ã«æ»ãã®ã§ã¯ãªãããã®ç¹å®ã®ã³ã³ããŒãã³ãã®ä»¥åã®å®å®ããããŒãžã§ã³ã«è¿ éã«ããŒã«ããã¯ã§ããŸãã
éçºããã³ãããã€ã¡ã³ããµã€ã¯ã«ã®å é
- ç¬ç«ããã³ã³ããŒãã³ããªãªãŒã¹: éçºããŒã ã¯ãä»ã®ã³ã³ããŒãã³ããéçºãµã€ã¯ã«ãå®äºããã®ãåŸ ã€ããšãªããæºåãæŽãããã¹ããããæ¿èªããæ¬¡ç¬¬ãåã ã®ã³ã³ããŒãã³ãã®æŽæ°ããªãªãŒã¹ã§ããŸããããã«ãããæ°æ©èœãéèŠãªãã°ä¿®æ£ã®åžå Žæå ¥ãŸã§ã®æéãå€§å¹ ã«ççž®ãããŸãã
- äŸåãããžã§ã¯ãã®ãããã¯ç¶æ³ã®åæž: å©çšã¢ããªã±ãŒã·ã§ã³ã¯ãã³ã³ããŒãã³ãã©ã€ãã©ãªå šäœãšãªãªãŒã¹ã¹ã±ãžã¥ãŒã«ãåæããå¿ èŠããªããªããŸãã圌ãã¯èªèº«ã®ããŒã¹ã§ç¹å®ã®ã³ã³ããŒãã³ãã®æŽæ°ãåã蟌ãããšãã§ããããŒã éã®äŸåé¢ä¿ãšããã«ããã¯ãæžãããŸããããã¯ãç°ãªããªãªãŒã¹ãã¬ã€ã³ããããžã§ã¯ãã®ç· ãåãã§éçšããŠããã°ããŒãã«ããŒã ã«ãšã£ãŠç¹ã«äŸ¡å€ããããŸãã
- æé©åãããCI/CDãã€ãã©ã€ã³: èªååããããã«ãããã³ãããã€ã¡ã³ããã€ãã©ã€ã³ã¯ã圱é¿ãåããã³ã³ããŒãã³ãã®ã¿ã«å¯ŸããŠããªã¬ãŒãããããã«æ§æã§ããããããã«ãæéã®ççž®ããªãœãŒã¹å©çšã®å¹çåãããã³ãã£ãŒãããã¯ã«ãŒãã®è¿ éåã«ã€ãªãããŸãã
ã°ããŒãã«ããŒã ã«ãããããè¯ãã³ã©ãã¬ãŒã·ã§ã³ã®ä¿é²
- ã¿ã€ã ãŸãŒã³ãè¶ãã倿Žã®ããæç¢ºãªã³ãã¥ãã±ãŒã·ã§ã³: ãButtonã®ä¿®æ£ããšããæŒ ç¶ãšããã¡ã¢ä»ãã®
@my-library@5.0.0ãšããŠã§ã¯ãªãã@my-library/button@2.1.1ãšããŠãButtonãã³ã³ããŒãã³ãã®ãã°ä¿®æ£ããªãªãŒã¹ããããšãã°ããŒãã«ããŒã ã¯ããã«ãã®ç¯å²ãçè§£ããŸãããã®ç²ŸåºŠã¯èª€è§£ãæå°éã«æããç°ãªãå°ççå°åã®ããŒã ãæŽæ°ã«ã€ããŠååãªæ å ±ã«åºã¥ããæ±ºå®ãäžããããã«ããŸãã - 䞊è¡éçºã®å®çŸ: ç°ãªãå°åã®ããŒã ã¯ãç¬ç«ããŠå€æŽããªãªãŒã¹ããªãããç°ãªãã³ã³ããŒãã³ããæ©èœã«åæã«åãçµãããšãã§ããŸãããã®äžŠè¡åã¯ã倿§ãªã¿ã€ã ãŸãŒã³ãšæåçäœæ¥ã¹ã¿ã€ã«å šäœã§çç£æ§ãæå€§åããããã«äžå¯æ¬ ã§ãã
- ããŒãžã®ç«¶åãšçµ±åã®ç ©ãããã®æå°å: ç¹å®ã®ã³ã³ããŒãã³ããžã®å€æŽãåé¢ããããšã§ãå ±æã©ã€ãã©ãªã³ãŒãããŒã¹ã§ã®è€éãªããŒãžç«¶åã®å¯èœæ§ãæžå°ããŸããç«¶åãçºçããå Žåã§ãããã®ç¯å²ã¯éåžžéå®ãããŠããã解決ã容æã«ãªããŸãã
ä¿å®æ§ã®åäžãšæè¡çè² åµã®åæž
- ã³ã³ããŒãã³ãã©ã€ããµã€ã¯ã«ã®èå¥ã容æã«: 詳现ãªããŒãžã§ã³ç®¡çã«ãããã©ã®ã³ã³ããŒãã³ããç©æ¥µçã«ã¡ã³ããã³ã¹ãããŠããããå®å®ããŠããããéæšå¥šã«ãªãã€ã€ããããæç¢ºã«ãªããŸãããã®æçãã¯ãé·æçãªèšç»ãšãªãœãŒã¹å²ãåœãŠã«åœ¹ç«ã¡ãŸãã
- ããæç¢ºãªéæšå¥šãã¹: ã³ã³ããŒãã³ããéæšå¥šã«ãªãããŸãã¯çœ®ãæããããå¿ èŠãããå Žåããã®åå¥ã®ããŒãžã§ã³ç®¡çã«ãããã¹ã ãŒãºãªç§»è¡ãå¯èœã«ãªããŸããå©çšè ã¯ãä»ã®å€ãã®äž»èŠãªã³ã³ããŒãã³ããå«ãå¯èœæ§ã®ããã©ã€ãã©ãªå šäœã§ã¯ãªããéæšå¥šã«ãªã£ãã³ã³ããŒãã³ãã®ããŒãžã§ã³ã«ã€ããŠå ·äœçã«éç¥ãåãåãããšãã§ããŸãã
- ããè¯ãç£æ»èšŒè·¡: åã³ã³ããŒãã³ãã®è©³çްãªããŒãžã§ã³å±¥æŽã¯ãå æ¬çãªç£æ»èšŒè·¡ãæäŸããç¹å®ã®UIèŠçŽ ãæéã®çµéãšãšãã«ã©ã®ããã«é²åããŠããããçè§£ããäžã§äžå¯æ¬ ã§ãããã³ã³ãã©ã€ã¢ã³ã¹ãéå»ã®ãã°ã®ãããã°ã«éåžžã«éèŠã§ãã
çã®ãã¶ã€ã³ã·ã¹ãã æ¡çšã®å®çŸ
- ãã¶ã€ã³ã»ããŒã¯ã³ãšã³ã³ããŒãã³ãããžãã¯ãžã®ã·ãŒã ã¬ã¹ãªæŽæ°: ãã¶ã€ã³ã·ã¹ãã ã¯çããŠããååšã§ãã詳现ãªããŒãžã§ã³ç®¡çã«ããããã¶ã€ããŒãéçºè ã¯ããã¶ã€ã³ã»ããŒã¯ã³ïŒè²ãã¿ã€ãã°ã©ãã£ãééïŒãåã ã®ã³ã³ããŒãã³ãã®æåããå©çšã¢ããªã±ãŒã·ã§ã³ã«ã©ã€ãã©ãªå šäœã®æŽæ°ã匷å¶ããããšãªããç¹°ãè¿ãæ¹åã§ããŸãã
- ç°ãªãã¢ããªã±ãŒã·ã§ã³éã§ã®äžè²«æ§ã®ç¶æ: ã©ã®ã³ã³ããŒãã³ãããŒãžã§ã³ã䜿çšããããã«ã€ããŠæ£ç¢ºãªå¶åŸ¡ãæäŸããããšã§ãçµç¹ã¯ããããã®ã¢ããªã±ãŒã·ã§ã³ãç°ãªãéçºãµã€ã¯ã«ããã¯ãããžãŒã¹ã¿ãã¯ã§ãã£ãŠãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã§éèŠãªUIèŠçŽ ãäžè²«æ§ãä¿ã€ããšãä¿èšŒã§ããŸãã
ãããã«ãïŒè©³çްãªãã€ã¯ãããŒãžã§ã³ç®¡çæŠç¥ã®å®è£
ãã€ã¯ãããŒãžã§ã³ç®¡çã®å®è£ ã«ã¯ãå€ãã®å ŽåãæšæºçãªSemVerã®æ £ç¿ãè¶ ãããææ ®æ·±ãã¢ãããŒããå¿ èŠã§ããéåžžãããŒã«ãæç¢ºãªããªã·ãŒãå ç¢ãªèªååã®çµã¿åãããé¢ãããŸãã
åŸæ¥ã®ã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çãè¶ ããŠïŒããæ·±ãæãäžãã
ã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çïŒSemVerïŒã¯ãMAJOR.MINOR.PATCH圢åŒã«åŸããŸãã
- MAJOR: äºææ§ã®ãªãAPI倿ŽïŒç Žå£ç倿ŽïŒã
- MINOR: åŸæ¹äºææ§ã®ããæ¹æ³ã§æ©èœã远å ïŒéç Žå£çãªæ©èœïŒã
- PATCH: åŸæ¹äºææ§ã®ãããã°ä¿®æ£ã
åºæ¬çã§ã¯ãããŸãããSemVerã¯ãã°ãã°ããã±ãŒãžå šäœãŸãã¯ã©ã€ãã©ãªå šäœã«é©çšãããŸããäœåãäœçŸãã®ã³ã³ããŒãã³ããå«ãã³ã³ããŒãã³ãã©ã€ãã©ãªã®å Žåã1ã€ã®ã³ã³ããŒãã³ãã«å¯Ÿããå°ããªå€æŽãã©ã€ãã©ãªå šäœã®ãã€ããŒããŒãžã§ã³ã¢ãããåŒãèµ·ããå¯èœæ§ããããŸããããšãã©ã€ãã©ãªã®99%ã倿ŽãããŠããªããšããŠãã§ããããã¯ãå©çšã¢ããªã±ãŒã·ã§ã³ã§ã®äžèŠãªæŽæ°ãäŸåé¢ä¿ã®å€åã«ã€ãªããå¯èœæ§ããããŸãã
ãã€ã¯ãããŒãžã§ã³ç®¡çã¯ã以äžã®ããããã®æ¹æ³ã§ãããæ¡åŒµããŸãã
- åã³ã³ããŒãã³ããç¬èªã®SemVerãæã€ç¬ç«ããããã±ãŒãžãšããŠæ±ãã
- ã¡ã€ã³ã©ã€ãã©ãªã®SemVerã«ã¡ã¿ããŒã¿ã远å ããŠã詳现ãªå€æŽã瀺ãã
ã¢ãããã¯ãªå€æŽãšãã®ããŒãžã§ã³ç®¡çãžã®åœ±é¿
æŠç¥ãéžæããåã«ãã³ã³ããŒãã³ãã©ã€ãã©ãªå ã§ãã¢ãããã¯ãªå€æŽããæ§æãããã®ãå®çŸ©ããŠãã ãããããã«ã¯ä»¥äžã®ãã®ãèããããŸãã
- ã¹ã¿ã€ã«èª¿æŽ: ã³ã³ããŒãã³ãã®èŠèŠç衚瀺ïŒäŸïŒããã£ã³ã°ãè²ïŒãžã®å€æŽãå€ãã®å Žåããããã¬ãã«ã®å€æŽã§ãã
- æ°ããããããã£/ãªãã·ã§ã³: æ¢åã®åäœã倿Žããã«ãã³ã³ããŒãã³ãã«æ°ããèšå®å¯èœãªããããã£ã远å ããããšãéåžžã¯ãã€ããŒã¬ãã«ã®å€æŽã§ãã
- åäœã®å€æŽ: ã³ã³ããŒãã³ãããŠãŒã¶ãŒå ¥åãããŒã¿ãšã©ã®ããã«çžäºäœçšãããã倿Žããããšã圱é¿ã«å¿ããŠãã€ããŒãŸãã¯ã¡ãžã£ãŒã«ãªãå¯èœæ§ããããŸãã
- APIã®ææ¬ç倿Ž: ããããã£ã®åç§°å€æŽãã€ãã³ã眲åã®å€æŽããŸãã¯æ©èœã®åé€ãããã¯æç¢ºãªã¡ãžã£ãŒã¬ãã«ã®ç Žå£ç倿Žã§ãã
ãããã®å€æŽã¿ã€ãããåã ã®ã³ã³ããŒãã³ããŸãã¯ã¡ã¿ããŒã¿ãšããŠé©åãªããŒãžã§ã³ã»ã°ã¡ã³ãã«ãããã³ã°ããããšã¯ãäžè²«æ§ã®ããã«äžå¯æ¬ ã§ãã
å®è·µçãªããŒãžã§ã³ç®¡çæŠç¥
詳现ãªããŒãžã§ã³ç®¡çãå®çŸããããã®äžè¬çãªæŠç¥ã以äžã«ç€ºããŸãã
æŠç¥1ïŒã³ã³ããŒãã³ãåºæã®ãµãããŒãžã§ã³ç®¡çïŒç¬ç«ããã±ãŒãžãæã€ã¢ãã¬ãïŒ
ããã¯ãå€§èŠæš¡ãªã³ã³ããŒãã³ãã©ã€ãã©ãªã«ãšã£ãŠãããããæã匷åã§äººæ°ã®ããã¢ãããŒãã§ãããã®æŠç¥ã§ã¯ãã³ã³ããŒãã³ãã©ã€ãã©ãªã¯ã¢ãã¬ããšããŠæ§ç¯ãããåã
ã®UIã³ã³ããŒãã³ãïŒäŸïŒButtonãInputãModalïŒã¯ããããç¬èªã®package.jsonãšããŒãžã§ã³çªå·ãæã€ç¬ç«ããnpmããã±ãŒãžãšããŠæ±ãããŸãã
- ä»çµã¿:
- ã¢ãã¬ãã«ã¯è€æ°ã®ããã±ãŒãžãå«ãŸããŠããŸãã
- åããã±ãŒãžïŒã³ã³ããŒãã³ãïŒã¯ãSemVerã䜿çšããŠç¬ç«ããŠããŒãžã§ã³ç®¡çãããŸãã
- LernaãNxãTurborepoãªã©ã®ããŒã«ãå ¬éããã»ã¹ã管çããã©ã®ããã±ãŒãžã倿Žãããããèªåçã«æ€åºããããã«å¿ããŠããŒãžã§ã³ãæŽæ°ããŸãã
- å©çšã¢ããªã±ãŒã·ã§ã³ã¯ãç¹å®ã®ã³ã³ããŒãã³ãããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãïŒäŸïŒ
npm install @my-org/button@^2.1.0ïŒã
- é·æ:
- æå€§éã®ç²åºŠ: ãã¹ãŠã®ã³ã³ããŒãã³ããç¬èªã®ã©ã€ããµã€ã¯ã«ãæã¡ãŸãã
- ç¬ç«ãããªãªãŒã¹:
Buttonã³ã³ããŒãã³ãã®ä¿®æ£ããInputã³ã³ããŒãã³ãã®æ°ããããŒãžã§ã³ã匷å¶ããããšã¯ãããŸããã - æç¢ºãªäŸåé¢ä¿: å©çšã¢ããªã±ãŒã·ã§ã³ã¯ã䜿çšããç¹å®ã®ã³ã³ããŒãã³ãã«ã®ã¿äŸåããããããã³ãã«ãµã€ãºãšäŸåé¢ä¿ã®è¥å€§åã軜æžããŸãã
- ã¹ã±ãŒã©ããªãã£: 倿°ã®ã³ã³ããªãã¥ãŒã¿ãŒãšå©çšã¢ããªã±ãŒã·ã§ã³ãæã€éåžžã«å€§èŠæš¡ãªã³ã³ããŒãã³ãã©ã€ãã©ãªã«æé©ã§ãã
- çæ:
- ããŒã«åã®è€éãã®å¢å€§: ã¢ãã¬ã管çããŒã«ã®æ¡çšãå¿ èŠã§ãã
- äŸåé¢ä¿ç®¡çã®è€éã: ã¢ãã¬ãå ã®ã³ã³ããŒãã³ãéã®æšç§»çãªäŸåé¢ä¿ã®ç®¡çã¯ãããŒã«ãç·©åããã®ã«åœ¹ç«ã€ãšã¯ãããè€éã«ãªãå¯èœæ§ããããŸãã
- äžè²«æ§ã®èª²é¡: ãã¹ãŠã®ã³ã³ããŒãã³ããäžè²«ãããã¶ã€ã³ã·ã¹ãã ã®äžéšã§ããç¶ããããšãä¿èšŒããã«ã¯ãããã¥ã¡ã³ããšã¬ããã³ã¹ã«ãããŠè¿œå ã®åªåãå¿ èŠã§ãã
- ã°ããŒãã«ãªäŸ: å€§èŠæš¡ãªå€åœç±Eã³ããŒã¹äŒæ¥ã¯ãç¹å®ã®ã³ã³ããŒãã³ãïŒäŸïŒæ±ºæžã³ã³ããŒãã³ããæ åœãããšãŒãããããŒã ãé éãŠã£ãžã§ãããæ åœããã¢ãžã¢ããŒã ïŒã管çããç°ãªãå°åã®ããŒã ãæã€å ŽåããããŸããç¬ç«ããããŒãžã§ã³ç®¡çã«ããããããã®ããŒã ã¯ã©ã€ãã©ãªå šäœã«å¯Ÿããã°ããŒãã«ãªèª¿æŽã®ãªãŒããŒããããªãã«æŽæ°ããªãªãŒã¹ã§ããŸãã
æŠç¥2ïŒã¡ã¿ããŒã¿ã«ãã匷åãããã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡ç
ãã®ã¢ãããŒãã§ã¯ãã³ã³ããŒãã³ãã©ã€ãã©ãªãåäžã®ã¡ã€ã³SemVerãæã€1ã€ã®ããã±ãŒãžãšããŠç¶æããŸãããå éšå€æŽã«é¢ãã詳现ãªã³ã³ããã¹ããæäŸããããã«ã¡ã¿ããŒã¿ã远å ããŸãã
- ä»çµã¿:
- ã¡ã€ã³ã©ã€ãã©ãªããã±ãŒãžïŒäŸïŒ
@my-libraryïŒã¯SemVerïŒäŸïŒ1.2.3ïŒã«åŸããŸãã - ãã¬ãªãªãŒã¹èå¥åãŸãã¯ãã«ãã¡ã¿ããŒã¿ïŒSemVer 2.0.0仿§ã«ããïŒã¯ãã³ã³ããŒãã³ãåºæã®å€æŽã瀺ãããã«äœ¿çšãããŸããäŸïŒ
1.2.3-button.fix.0ã1.2.3-input.feature.alphaã1.2.3+build.20240315.button.cssã - ãã®æ å ±ã¯ãçŽæ¥çãªäŸåé¢ä¿ç®¡çã§ã¯ãªããäž»ã«å éšã³ãã¥ãã±ãŒã·ã§ã³ã詳现ãªå€æŽå±¥æŽã察象ãçµã£ãããã¥ã¡ã³ãã®ããã«äœ¿çšãããŸãã
- ã¡ã€ã³ã©ã€ãã©ãªããã±ãŒãžïŒäŸïŒ
- é·æ:
- ã·ã³ãã«ãªãããã¬ãã«äŸåé¢ä¿: å©çšã¢ããªã±ãŒã·ã§ã³ã¯äŸç¶ãšããŠåäžã®ã©ã€ãã©ãªããã±ãŒãžã«äŸåããŸãã
- è±å¯ãªã³ã³ããã¹ã: ã¡ã¿ããŒã¿ã¯ãè€éãªã¢ãã¬ãã®èšå®ãªãã«ãéçºè ã«å éšå€æŽã«é¢ããæ£ç¢ºãªæŽå¯ãæäŸããŸãã
- æ¢åãããžã§ã¯ãã®ç§»è¡ã容æ: åäžã®ã©ã€ãã©ãªããã±ãŒãžãå©çšããŠããæ¢åã®ãããžã§ã¯ãã«ãšã£ãŠãæ··ä¹±ãå°ãªãã§ãã
- çæ:
- çã®ç²åºŠã¯éå®ç: ã¡ã€ã³ã©ã€ãã©ãªã®ããŒãžã§ã³ã«äŸç¶ãšããŠçŽä»ããããŠãããåäžã®ã¡ãžã£ãŒããŒãžã§ã³ã¢ããããã¹ãŠã®ã³ã³ããŒãã³ãã«åœ±é¿ããããšãæå³ããŸãã
- ã¡ã¿ããŒã¿ã®è¥å€§å: ããŒãžã§ã³æååã«å€ãã®è©³çްãè©°ã蟌ãŸãããããšãæ±ãã«ãããªãå¯èœæ§ããããŸãã
- ç¬ç«ãããªãªãŒã¹ããªã: ãã¹ãŠã®å€æŽã¯ãã¡ã€ã³ããã±ãŒãžã®åäžã®ãªãªãŒã¹ãµã€ã¯ã«ã«è²¢ç®ããŸãã
- ã°ããŒãã«ãªäŸ: è€æ°ã®å éšã¢ããªã±ãŒã·ã§ã³ã«ã³ã³ããŒãã³ããæäŸããåäžã®ãã¶ã€ã³ã·ã¹ãã ããŒã ãæã€äžèŠæš¡äŒæ¥ã圌ãã¯ã¡ã¿ããŒã¿ã䜿çšããŠãç¹å®ã®ã©ã€ãã©ãªãªãªãŒã¹ã§ã©ã®ç¹å®ã®ã³ã³ããŒãã³ããæŽæ°ãããããæç¢ºã«äŒããå éšã¢ããªã±ãŒã·ã§ã³ããŒã ãæŽæ°ã®åªå é äœã決å®ããã®ã«åœ¹ç«ãŠããããããŸããã
æŠç¥3ïŒããŒãžã§ã³ã¢ããã®ããã®å€æŽãã°åæã®èªåå
ãã®æŠç¥ã¯ãæ§é åãããã³ãããã¡ãã»ãŒãžã掻çšããããšã§ãããŒãžã§ã³ç®¡çããã»ã¹ãèªååããããšã«çŠç¹ãåœãŠãŠããããã°ãã°æŠç¥1ãŸãã¯2ãšçµã¿åãããŠäœ¿çšãããŸãã
- ä»çµã¿:
- éçºè
ã¯ãConventional Commitsã®ãããªå³æ Œãªã³ãããã¡ãã»ãŒãžèŠçŽã«åŸããŸããäŸïŒ
feat(button): add loading stateãfix(input): resolve accessibility issueãchore(deps): update reactã semantic-releaseã®ãããªããŒã«ã¯ããããã®ã³ãããã¡ãã»ãŒãžãåæããŠã圱é¿ãåããããã±ãŒãžã®é©åãªSemVerããŒãžã§ã³ã¢ããïŒã¡ãžã£ãŒããã€ããŒããŸãã¯ãããïŒãèªåçã«æ±ºå®ãããªãªãŒã¹ããŒããçæããŸãã
- éçºè
ã¯ãConventional Commitsã®ãããªå³æ Œãªã³ãããã¡ãã»ãŒãžèŠçŽã«åŸããŸããäŸïŒ
- é·æ:
- ããŒãžã§ã³ç®¡çã®èªåå: ãªãªãŒã¹æã®æåãšã©ãŒãšæææ±ºå®ãæé€ããŸãã
- 倿Žå±¥æŽã®èªåçæ: 詳现ã§äžè²«æ§ã®ãããªãªãŒã¹ããŒããçæããã³ãã¥ãã±ãŒã·ã§ã³ãåäžãããŸãã
- èŠåŸã®åŸ¹åº: ããè¯ãã³ãããç¿æ £ãä¿ããããæç¢ºãªãããžã§ã¯ãå±¥æŽã«ã€ãªãããŸãã
- çæ:
- 峿 ŒãªèŠçŽ: ãã¹ãŠã®ã³ã³ããªãã¥ãŒã¿ãŒãã³ãããã¡ãã»ãŒãžåœ¢åŒãåŠç¿ããéµå®ããå¿ èŠããããŸãã
- åæèšå®ã®ãªãŒããŒããã: èªååããŒã«ã®èšå®ã¯è€éã«ãªãå ŽåããããŸãã
- ã°ããŒãã«ãªäŸ: äžçäžã®ã³ã³ããªãã¥ãŒã¿ãŒããŒã¹ãæã€ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã¯ãConventional Commitsãš
semantic-releaseã«äŸåããè²¢ç®ããã€ã©ãã§è¡ããããã«é¢ããããäžè²«ããããŒãžã§ã³ç®¡çãšå€æŽå±¥æŽã®çæãä¿èšŒããŠããŸããããã¯ã³ãã¥ããã£å ã®ä¿¡é Œãšéææ§ãæ§ç¯ããŸãã
ããŒã«ãšãšã³ã·ã¹ãã ã®ãµããŒã
ãã€ã¯ãããŒãžã§ã³ç®¡çã®æåã¯ãå ç¢ãªããŒã«ãšã³ã·ã¹ãã ã«å€§ããäŸåããŸãã
- ã¢ãã¬ãããŒã«:
- Lerna: è€æ°ã®ããã±ãŒãžãæã€JavaScriptãããžã§ã¯ãã管çããããã®äººæ°ããŒã«ãåºå®ããŒãžã§ã³ç®¡çæŠç¥ãšç¬ç«ããŒãžã§ã³ç®¡çæŠç¥ã®äž¡æ¹ããµããŒãããŠããŸãã
- Nx: é«åºŠãªãã£ãã·ã¥ãäŸåé¢ä¿ã°ã©ãäœæãã³ãŒãçæãæäŸãããã¢ãã¬ãåãã®åŒ·åã§æ¡åŒµå¯èœãªéçºããŒã«ã
- Turborepo: é床ãšãã£ãã·ã¥ã«çŠç¹ãåœãŠããJavaScriptããã³TypeScriptã¢ãã¬ãåãã®é«æ§èœãã«ãã·ã¹ãã ã
- ããã±ãŒãžãããŒãžã£ãŒ:
- npm, Yarn, pnpm: ãã¹ãŠã®äž»èŠãªããã±ãŒãžãããŒãžã£ãŒã¯
workspacesããµããŒãããŠãããããã¯ã¢ãã¬ãèšå®ãšå éšããã±ãŒãžäŸåé¢ä¿ã®ç®¡çã®åºç€ãšãªããŸãã
- npm, Yarn, pnpm: ãã¹ãŠã®äž»èŠãªããã±ãŒãžãããŒãžã£ãŒã¯
- CI/CDãã€ãã©ã€ã³:
- GitHub Actions, GitLab CI/CD, Jenkins, Azure DevOps: 倿Žã®æ€åºã圱é¿ãåããã³ã³ããŒãã³ãã®ãã¹ãå®è¡ãããŒãžã§ã³ã®æŽæ°ãããã±ãŒãžã®å ¬éãèªååããããã«äžå¯æ¬ ã§ãã
- èªå倿Žå±¥æŽçæ:
- semantic-release: 次ã®ããŒãžã§ã³çªå·ã®æ±ºå®ããªãªãŒã¹ããŒãã®çæãããã±ãŒãžã®å ¬éãªã©ãããã±ãŒãžãªãªãŒã¹ã¯ãŒã¯ãããŒå šäœãèªååããŸãã
- Conventional Commits: ã³ãããã¡ãã»ãŒãžã«äººéãšæ©æ¢°ãèªã¿åããæå³ã远å ããããã®ä»æ§ã
ææžåãåºç€ãšããŠ
æãæŽç·ŽãããããŒãžã§ã³ç®¡çæŠç¥ã§ãã£ãŠããæç¢ºã§ã¢ã¯ã»ã¹ããããããã¥ã¡ã³ãããªããã°å¹æããããŸãããã°ããŒãã«ããŒã ã®å Žåãèšèªã®å£ãçµéšã¬ãã«ã®éãã«ãããããã¯ããã«éèŠã«ãªããŸãã
- ã©ã€ãã³ã³ããŒãã³ããšã¯ã¹ãããŒã©ãŒ: StorybookãDoczã®ãããªããŒã«ã¯ãã³ã³ããŒãã³ãã®åé¢ãããç°å¢ãæäŸããç°ãªãç¶æ ãããããã£ãåäœã玹ä»ããŸãããããã¯ãã°ãã°ããŒãžã§ã³ç®¡çã·ã¹ãã ãšçŽæ¥çµ±åãããç¹å®ã®ã³ã³ããŒãã³ãããŒãžã§ã³ã«é¢é£ããããã¥ã¡ã³ãã衚瀺ããŸãã
- åã³ã³ããŒãã³ãã®æç¢ºãªãªãªãŒã¹ããŒã: ã©ã€ãã©ãªå šäœã®ã¢ããªã·ãã¯ãªå€æŽå±¥æŽã§ã¯ãªããæ°æ©èœããã°ä¿®æ£ãç Žå£ç倿ŽãæŠèª¬ãã詳现ãªã³ã³ããŒãã³ãåºæã®ãªãªãŒã¹ããŒããæäŸããŸãã
- ç Žå£ç倿Žã®ããã®ç§»è¡ã¬ã€ã: åã ã®ã³ã³ããŒãã³ãã®ã¡ãžã£ãŒããŒãžã§ã³ã¢ããã®å Žåãå©çšã¢ããªã±ãŒã·ã§ã³ãã¹ã ãŒãºã«ã¢ããã°ã¬ãŒãã§ãããããã³ãŒãäŸãå«ãæç¢ºãªç§»è¡ã¬ã€ããæäŸããŸãã
- å éšéçºè ããŒã¿ã«: ã³ã³ããŒãã³ãã®ããã¥ã¡ã³ããããŒãžã§ã³å±¥æŽã䜿çšã¬ã€ãã©ã€ã³ãã³ã³ããŒãã³ãææè ã®é£çµ¡å æ å ±ãéçŽããéäžãã©ãããã©ãŒã ã¯ãéåžžã«äŸ¡å€ããããŸãã
課é¡ãšãã¹ããã©ã¯ãã£ã¹ã®ããã²ãŒã
詳现ãªãã€ã¯ãããŒãžã§ã³ç®¡çã®å©ç¹ã¯å€§ããã§ããããã®å®è£ ã«ã¯ç¬èªã®èª²é¡ã䌎ããŸããæåã®ããã«ã¯ãç©æ¥µçãªèšç»ãšãã¹ããã©ã¯ãã£ã¹ãžã®éµå®ãäžå¯æ¬ ã§ãã
ç²åºŠã®å¢å ã«ãããªãŒããŒããã
å€ãã®ç¬ç«ããŠããŒãžã§ã³ç®¡çãããããã±ãŒãžã管çããããšã¯ã管çäžã®ãªãŒããŒããããããããå¯èœæ§ããããŸããåã³ã³ããŒãã³ãã«ã¯ç¬èªã®ãªãªãŒã¹ãµã€ã¯ã«ããã¹ããããã³ããã¥ã¡ã³ããããå ŽåããããŸããããŒã ã¯ããã现ããå¶åŸ¡ã®å©ç¹ãšããããããããè€éããæ¯èŒæ€èšããå¿ èŠããããŸãã
- ãã¹ããã©ã¯ãã£ã¹: å®çšçãªã¢ãããŒãããå§ããŸãããããã¹ãŠã®å°ããªãã«ããŒãŠãŒãã£ãªãã£ãç¬ç«ããããŒãžã§ã³ç®¡çãå¿ èŠãšããããã§ã¯ãããŸãããåºãå©çšãããæç¢ºãªã©ã€ããµã€ã¯ã«ãæã€ã³ã¢UIã³ã³ããŒãã³ãã«çŠç¹ãåœãŠãŸããããããŒã ã®ããŒãºãšèœåã®é²åã«åãããŠãåŸã ã«ç²åºŠãé«ããŠãã ããã
äŸåé¢ä¿ãšæšç§»çãªæŽæ°ã®ç®¡ç
ã¢ãã¬ãã§ã¯ãã³ã³ããŒãã³ããäºãã«äŸåããå¯èœæ§ããããŸããããšãã°ãComboBoxã³ã³ããŒãã³ãã¯Inputã³ã³ããŒãã³ããšListã³ã³ããŒãã³ãã«äŸåãããããããŸããããããã®å
éšäŸåé¢ä¿ã管çããå©çšã¢ããªã±ãŒã·ã§ã³ãäºææ§ã®ããããŒãžã§ã³ãååŸããããšãä¿èšŒããã®ã¯é£ããå ŽåããããŸãã
- ãã¹ããã©ã¯ãã£ã¹: ã¢ãã¬ãããŒã«ã掻çšããŠå
éšäŸåé¢ä¿ã广çã«ç®¡çããŸããããå
éšããã±ãŒãžã«ã¯ã
*ãå³å¯ãªããŒãžã§ã³ã§ã¯ãªããæç€ºçãªäŸåé¢ä¿ã®ç¯å²ïŒäŸïŒ^1.0.0ïŒãå®çŸ©ããŠããã€ããŒã¢ããããŒããå¯èœã«ããŠãã ãããããã¡ã³ãã äŸåé¢ä¿ãïŒã³ã³ããŒãã³ããããã±ãŒãžãæç€ºçã«å®£èšããã«äœ¿çšããŠããå ŽåïŒãæ€åºããŠèŠåããããã®èªååããŒã«ã䜿çšããŸãããã
ã³ãã¥ãã±ãŒã·ã§ã³ãéµ
ã°ããŒãã«ã§åæ£ããããŒã ã«ãšã£ãŠãããŒãžã§ã³ç®¡çããªã·ãŒããªãªãŒã¹ãç Žå£ç倿Žã«é¢ããæç¢ºã§äžè²«ããã³ãã¥ãã±ãŒã·ã§ã³ã¯æéèŠã§ãã
- ãã¹ããã©ã¯ãã£ã¹:
- æç¢ºãªããŒãžã§ã³ç®¡çããªã·ãŒã®ç¢ºç«: åã ã®ã³ã³ããŒãã³ãã®ã¡ãžã£ãŒããã€ããŒããŸãã¯ããã倿Žãæ§æãããã®ãäœã§ããããå«ããéžæãããã€ã¯ãããŒãžã§ã³ç®¡çæŠç¥ãææžåããŠãã ããããããåºãå ±æããŸãããã
- 宿çãªåæãšãªãªãŒã¹ãã£ãã«: ã³ã³ããŒãã³ããªãªãŒã¹ãç¹ã«ç Žå£ç倿Žãçºè¡šããããã«ãå ±æã³ãã¥ãã±ãŒã·ã§ã³ãã©ãããã©ãŒã ïŒäŸïŒSlackãMicrosoft Teamsãå°çšã¡ãŒãªã³ã°ãªã¹ãïŒãå©çšããŸããããç°ãªãå°åã補åããŒã åãã®å°çšãªãªãŒã¹ãã£ãã«ãæ€èšããŠãã ããã
- å éšããã¥ã¡ã³ã: ã³ã³ããŒãã³ãææè ã䜿çšã¬ã€ãã©ã€ã³ããªãªãŒã¹æé ãæŠèª¬ãããäžå åãããæ€çŽ¢ãããããã¬ããžããŒã¹ãç¶æããŸãããã
- å€èšèªãµããŒãïŒè©²åœããå ŽåïŒ: éåžžã«å€æ§ãªã°ããŒãã«ããŒã åãã«ã¯ãéèŠãªãªãªãŒã¹ããŒããè€æ°èšèªã§èŠçŽãããã翻蚳ããŒã«ãæäŸãããããããšãæ€èšããŠãã ããã
èªååã®åœ¹å²
詳现ãªã·ã¹ãã ã§ã®æåããŒãžã§ã³ç®¡çã¯ããšã©ãŒãšäžäžè²«æ§ã®æž©åºã§ããèªååã¯ãªãã·ã§ã³ã§ã¯ãªããåºæ¬çã§ãã
- ãã¹ããã©ã¯ãã£ã¹:
- èªåãã¹ã: åã³ã³ããŒãã³ãã«å¯ŸããŠå æ¬çãªåäœãã¹ããçµ±åãã¹ããããžã¥ã¢ã«ãªã°ã¬ãã·ã§ã³ãã¹ããå®è£ ããŸããããããã«ããã倿Žãæå³ããªãå¯äœçšãåŒãèµ·ãããªãããšãä¿èšŒãããŸãã
- èªåãªãªãŒã¹ã¯ãŒã¯ãããŒ: CI/CDãã€ãã©ã€ã³ã䜿çšããŠããã¹ãã®èªåå®è¡ãããŒãžã§ã³ã¢ããã®æ±ºå®ïŒäŸïŒConventional Commitsçµç±ïŒã倿Žå±¥æŽã®çæãããã³ããã±ãŒãžã®å ¬éãè¡ããŸãããã
- ç°å¢å šäœã§ã®äžè²«æ§: ããŒã ã®å Žæã«é¢ä¿ãªãããã¹ãŠã®éçºãã¹ããŒãžã³ã°ãããã³æ¬çªç°å¢ã§ã³ã³ããŒãã³ããäžè²«ããŠæ§ç¯ããã³ãã¹ããããããšãä¿èšŒããŸãããã
ããŒãžã§ã³ç®¡çæŠç¥ã®é²å
æåã®ãã€ã¯ãããŒãžã§ã³ç®¡çæŠç¥ã¯å®ç§ã§ã¯ãªããããããŸããããããã¯èš±å®¹ãããŸããçµç¹ãããŒã ã®ããŒãºã¯é²åããŠããã§ãããã
- ãã¹ããã©ã¯ãã£ã¹: æŠç¥ã宿çã«ã¬ãã¥ãŒããé©å¿ãããŠãã ãããã³ã³ããŒãã³ãéçºè ãšå©çšã¢ããªã±ãŒã·ã§ã³ããŒã ã®äž¡æ¹ãããã£ãŒãããã¯ãåéããŸãããããªãªãŒã¹ã®é »åºŠãå€ãããããé ããããããŸãããïŒç Žå£ç倿Žã¯é©åã«äŒéãããŠããŸããïŒãšã³ã·ã¹ãã ã«æé©ãªãã©ã³ã¹ãèŠã€ããããã«ãããŒãžã§ã³ç®¡çããªã·ãŒãç¹°ãè¿ãæ¹åããæºåãããŠãã ããã
çŸå®äžçã®ã°ããŒãã«ã·ããªãªãšäŸ
詳现ãªãã€ã¯ãããŒãžã§ã³ç®¡çã®å ·äœçãªå©ç¹ã説æããããã«ãããã€ã仮説çã§ããçŸå®çãªã°ããŒãã«ã·ããªãªãèããŠã¿ãŸãããã
å€åœç±Eã³ããŒã¹ãã©ãããã©ãŒã
- 課é¡: ã°ããŒãã«ãªEã³ããŒã¹å€§æããç°ãªãå°åïŒåç±³ããšãŒããããã¢ãžã¢å€ªå¹³æŽïŒåãã«èª¿æŽãããè€æ°ã®ã¹ãã¢ããã³ããéå¶ããŠããŸããåå°åã«ã¯ç¬èªã®æ³çèŠä»¶ãæ¯æãæ¹æ³ãããŒã±ãã£ã³ã°ãã£ã³ããŒã³ããããŸããåå°åã®è£œåããŒã ã¯UIã³ã³ããŒãã³ããè¿ éã«èª¿æŽããå¿ èŠããããŸããããã¹ãŠãã³ã¢ã³ã³ããŒãã³ãã©ã€ãã©ãªãå ±æããŠããŸããåŸæ¥ã®ã©ã€ãã©ãªå šäœã§ã®ããŒãžã§ã³ç®¡çã¯ããã«ããã¯ã«ã€ãªãããããå°åã§ã®å°ããªå€æŽãã©ã€ãã©ãªå šäœã®ãªãªãŒã¹ãå¿ èŠãšããä»ã®å°åã®ããŒã ãé å»¶ãããŸãã
- 解決ç: å瀟ã¯ã¢ãã¬ãæŠç¥ãæ¡çšããåã³ã¢UIèŠçŽ ïŒäŸïŒ
PaymentGatewayButtonãProductCardãShippingAddressFormïŒãç¬ç«ããŠããŒãžã§ã³ç®¡çãããããã±ãŒãžãšããŠæ±ããŸãã - å©ç¹:
- ãšãŒãããããŒã ã¯ãæ°ããGDPRæºæ ã®ããã«
PaymentGatewayButtonãæŽæ°ããŠããã¢ãžã¢ããŒã ã®ShippingAddressFormã«åœ±é¿ãäžããããã°ããŒãã«ãªã¹ãã¢ããã³ãã®æŽæ°ã匷å¶ãããããããšã¯ãããŸããã - å°åã®ããŒã ã¯å€æŽãã¯ããã«è¿ éã«å埩ã»å±éã§ããå°åã®é¢é£æ§ãé«ããå°ååºæã®æ©èœã®åžå Žæå ¥ãŸã§ã®æéãççž®ããŸãã
- ã³ã³ããŒãã³ãã®æŽæ°ãåé¢ãããŠãããããã°ããŒãã«ãªèª¿æŽã®ããã«ããã¯ãæžå°ããããŒã ã¯ããèªåŸçã«äœæ¥ã§ããŸãã
- ãšãŒãããããŒã ã¯ãæ°ããGDPRæºæ ã®ããã«
倿§ãªè£œåã©ã€ã³ãæã€éèãµãŒãã¹ãããã€ããŒ
- 課é¡: å€§èŠæš¡ãªéèæ©é¢ã¯ãå°å£²éè¡ãæè³ãä¿éºãªã©ãå€å²ã«ããã補åãæäŸããŠãããããããç°ãªã補åã©ã€ã³ã«ãã£ãŠç®¡çãããæ§ã ãªåžæ³ç®¡èœåºã§å³æ ŒãªèŠå¶èŠä»¶ãéµå®ããŠããŸããäžè²«æ§ãä¿ã€ããã«å ±æã³ã³ããŒãã³ãã©ã€ãã©ãªã䜿çšããŠããŸããå ±éã®ãå£åº§æ®é«è¡šç€ºãã³ã³ããŒãã³ãã®ãã°ä¿®æ£ã¯å°å£²éè¡ã«ãšã£ãŠéèŠã§ããããæ ªäŸ¡ãã£ãŒããã³ã³ããŒãã³ãã®æ°æ©èœã¯æè³ãã©ãããã©ãŒã ã«ã®ã¿é¢é£ããŸãããã¹ãŠã«åäžã®ã©ã€ãã©ãªããŒãžã§ã³ã¢ãããé©çšãããšãç¡é¢ä¿ãªè£œåã©ã€ã³ã«ãšã£ãŠäžèŠãªååž°ãã¹ããçºçããŸãã
- 解決ç: çµç¹ã¯ã¢ãã¬ãå
ã§ã³ã³ããŒãã³ãåºæã®ããŒãžã§ã³ç®¡çãå®è£
ããŸãããŸããæ¡åŒµãããSemVerã¡ã¿ããŒã¿ïŒäŸïŒ
@my-fin-lib/account-balance@1.2.1+compliance.fix.EUïŒã䜿çšããŠãåã ã®ã³ã³ããŒãã³ãã«å¯Ÿããç¹å®ã®èŠå¶ãŸãã¯ç£æ»é¢é£ã®å€æŽã远跡ããŸãã - å©ç¹:
- å°å£²éè¡ã¯ãå£åº§æ®é«è¡šç€ºãã³ã³ããŒãã³ããçŽã¡ã«æŽæ°ããéèŠãªãã°ã«å¯ŸåŠã§ããŸããæè³ãã©ãããã©ãŒã ã«ãæ ªäŸ¡ãã£ãŒãããä»ã®ã³ã³ããŒãã³ãã®åãã¹ãã匷å¶ããããšã¯ãããŸããã
- ããŒãžã§ã³æååãç¹å®ã®ã³ã³ããŒãã³ãã®ã³ã³ãã©ã€ã¢ã³ã¹ä¿®æ£ãçŽæ¥åç §ãããããæ£ç¢ºãªç£æ»ãå¯èœã§ãã
- 察象ãçµã£ãããŒã«ããã¯: ãæ ªäŸ¡ãã£ãŒããã³ã³ããŒãã³ãã§åé¡ãèŠã€ãã£ãå Žåããã®ã³ã³ããŒãã³ãã®ã¿ãå ã«æ»ãã ãã§æžã¿ãä»ã®éèŠãªéèã¢ããªã±ãŒã·ã§ã³ãžã®åœ±é¿ãæå°éã«æããããŸãã
ã°ããŒãã«ãªã³ã³ããªãã¥ãŒã¿ãŒããŒã¹ãæã€ãªãŒãã³ãœãŒã¹UIã©ã€ãã©ãª
- 課é¡: 人æ°ã®ãããªãŒãã³ãœãŒã¹UIã©ã€ãã©ãªã¯ãäžçäžã®éçºè ããè²¢ç®ãåããŠãããçµéšã¬ãã«ã¯æ§ã ã§ãå©çšå¯èœæ§ãäžå®æã§ããäžè²«ãããªãªãŒã¹ãµã€ã¯ã«ãç¶æããå質ã確ä¿ããäœåãã®ãŠãŒã¶ãŒãšäœçŸãã®ã³ã³ããªãã¥ãŒã¿ãŒã«å€æŽã«ã€ããŠæç¢ºãªã³ãã¥ãã±ãŒã·ã§ã³ãæäŸããããšã¯ãéæ¹ããªãã¿ã¹ã¯ã§ãã
- 解決ç: ãããžã§ã¯ãã¯Conventional Commitsã峿 Œã«æœè¡ããã¢ãã¬ãïŒLernaãŸãã¯NxïŒãšé£æºããŠ
semantic-releaseã䜿çšããç¬ç«ããŠããŒãžã§ã³ç®¡çãããã³ã³ããŒãã³ãã管çããŸãã - å©ç¹:
- äºæž¬å¯èœãªãªãªãŒã¹: èªåããŒãžã§ã³ç®¡çã«ããããã¹ãŠã®ã³ãããã¡ãã»ãŒãžã次ã®ããŒãžã§ã³ã¢ãããšå€æŽå±¥æŽãšã³ããªã«çŽæ¥åæ ãããããããªãªãŒã¹ãéåžžã«äºæž¬å¯èœã«ãªããŸãã
- ã³ã³ããªãã¥ãŒã¿ãŒã«ãšã£ãŠç°¡å: æ°ããã³ã³ããªãã¥ãŒã¿ãŒã¯ã³ãããã¡ãã»ãŒãžèŠçŽãçŽ æ©ãåŠç¿ããå Žæãã¿ã€ã ãŸãŒã³ã«é¢ä¿ãªãäžè²«ããè²¢ç®ãä¿é²ããŸãã
- å ç¢ãªã³ãã¥ããã£ã®ä¿¡é Œ: ããŒãžã§ã³ç®¡çãä¿¡é Œæ§ãé«ãéæã§ããããšãç¥ã£ãŠãããŠãŒã¶ãŒã¯ãç¹å®ã®ã³ã³ããŒãã³ããèªä¿¡ãæã£ãп޿°ã§ããŸããåã³ã³ããŒãã³ãã«ã¯ãèªåçæããã詳现ãªãªãªãŒã¹ããŒããå©çšå¯èœã§ãã
- ã¡ã³ãããŒã®è² æ 軜æž: ã³ã¢ã¡ã³ãããŒã¯æåã§ã®ããŒãžã§ã³ç®¡çã倿Žå±¥æŽäœæã«è²»ããæéãæžãããã³ãŒãã¬ãã¥ãŒãæ©èœéçºã«éäžã§ããŸãã
ã³ã³ããŒãã³ãããŒãžã§ã³ç®¡çã®æªæ¥
ããã³ããšã³ãéçºãé²åãç¶ããã«ã€ããŠãããŒãžã§ã³ç®¡çæŠç¥ãé²åããã§ããããããã«æŽç·Žãããã¢ãããŒããæåŸ ã§ããŸãã
- AIã¢ã·ã¹ãã«ããããŒãžã§ã³ç®¡ç: AIãã³ãŒã倿Žããã¶ã€ã³ãã¡ã€ã«ã®å€æŽïŒäŸïŒFigmaïŒãåæããé©åãªããŒãžã§ã³ã¢ãããææ¡ããåæãªãªãŒã¹ããŒããçæããããšã§ãæåã§ã®ãªãŒããŒããããããã«åæžããæ§åãæ³åããŠã¿ãŠãã ããã
- ããçµ±åãããããŒã«: ãã¶ã€ã³ããŒã«ïŒFigmaãªã©ïŒãéçºç°å¢ïŒIDEïŒãããŒãžã§ã³ç®¡çã·ã¹ãã éã®é£æºããã坿¥ã«ãªãããšã§ããã¶ã€ã³ã³ã³ã»ãããããããã€ãããã³ã³ããŒãã³ããŸã§ã·ãŒã ã¬ã¹ãªäœéšãæäŸãããããŒãžã§ã³ç®¡çã¯æé»çã«è¡ãããããã«ãªããŸãã
- ãã¶ã€ã³ã»ããŒã¯ã³ãšã®ãã坿¥ãªé£æº: ãã¶ã€ã³ã»ããŒã¯ã³èªäœã®ããŒãžã§ã³ç®¡çãšããããã®ããŒãžã§ã³ãã³ã³ããŒãã³ãå ã«èªåçã«åæ ãããããšãããæšæºåããããã¶ã€ã³èšèªã®æŽæ°ãã³ãŒã倿Žãšåã粟床ã§è¿œè·¡ã»ãããã€ãããããã«ãªããŸãã
çµè«
çŸä»£ã®ããã³ããšã³ãéçºãç¹ã«ã°ããŒãã«ããŒã ã®è€éãªç¶æ³ã«ãããŠã倿Žãæ£ç¢ºã«å¶åŸ¡ãäŒéããèœåã¯ãã¯ãèŽ æ²¢åã§ã¯ãªããå¿ éåã§ããããã³ããšã³ãã³ã³ããŒãã³ãã©ã€ãã©ãªã®è©³çްãªãã€ã¯ãããŒãžã§ã³ç®¡çã¯ããã®éèŠãªæ©èœãæäŸããæœåšçãªæ··ä¹±ãæ§é åãããäºæž¬å¯èœãªé²åãžãšå€ããŸãã
ã¢ãã¬ãå ã§ã®ã³ã³ããŒãã³ãåºæã®ãµãããŒãžã§ã³ç®¡çãã¡ã¿ããŒã¿ã«ãã匷åãããã»ãã³ãã£ãã¯ããŒãžã§ã³ç®¡çã®æŽ»çšãLernaãNxãsemantic-releaseãªã©ã®ããŒã«ã«ãããªãªãŒã¹ã¯ãŒã¯ãããŒã®èªååãšãã£ãæŠç¥ãæ¡çšããããšã§ãçµç¹ã¯åäŸã®ãªãã¬ãã«ã®å®å®æ§ãå®çŸããéçºãµã€ã¯ã«ãå éããã倿§ãªåœéããŒã ã®ããã«çã«ååçãªç°å¢ãè²ãããšãã§ããŸãã
ãã€ã¯ãããŒãžã§ã³ç®¡çã®æ¡çšã«ã¯ãããŒã«ãšããã»ã¹å®çŸ©ãžã®åææè³ãå¿ èŠã§ãããé·æçãªã¡ãªããïŒãªã¹ã¯ã®è»œæžããããã€ã¡ã³ãã®é«éåãä¿å®æ§ã®åäžã匷åãããã°ããŒãã«ã³ã©ãã¬ãŒã·ã§ã³ïŒãèãããšãå ç¢ã§ã¹ã±ãŒã©ãã«ããã€å°æ¥æ§ã®ããããžã¿ã«è£œåã®æ§ç¯ã«çå£ã«åãçµãããããçµç¹ã«ãšã£ãŠäžå¯æ¬ ãªå®è·µãšãªããŸããåºæ¬çãªããšããäžæ©é²ãã§ãããã³ããšã³ãã³ã³ããŒãã³ãã©ã€ãã©ãªã®ããŒãžã§ã³ç®¡çã«ãããç²ŸåºŠã®æãç¿åŸããæãæ¥ãŸããã